#pragma once

#include <binder/IBinder.h>
#include <binder/IInterface.h>
#include <utils/Errors.h>
#include <com/bose/IBoseCmd.h>

namespace com {

namespace bose {

class BpBoseCmd : public ::android::BpInterface<IBoseCmd> {
public:
  explicit BpBoseCmd(const ::android::sp<::android::IBinder>& _aidl_impl);
  virtual ~BpBoseCmd() = default;
  ::android::binder::Status CallSystem(const ::android::String16& cmd, int32_t* _aidl_return) override;
  ::android::binder::Status CallPopen(const ::android::String16& cmd, ::std::vector<int32_t>* errorCodes, ::std::vector<uint8_t>* _aidl_return) override;
  ::android::binder::Status SendMessage(const ::std::vector<uint8_t>& message, int32_t* _aidl_return) override;
  ::android::binder::Status GetMessage(const ::std::vector<uint8_t>& message, ::std::vector<int32_t>* errorCodes, ::std::vector<uint8_t>* _aidl_return) override;
};  // class BpBoseCmd

}  // namespace bose

}  // namespace com
